Node.js yerleşik API'leri
Deno Deploy, fs, path ve http gibi yerleşik Node.js modüllerini node: spesifikasyonları aracılığıyla içe aktarmayı yerel olarak destekler. Bu, Deno Deploy'da değişiklik yapmadan orijinal olarak Node.js için yazılmış kodların çalıştırılmasını sağlar.
Deno Deploy, Node.js modüllerini kullanırken tüm diğer özelliklerini de desteklemektedir.
İşte Deno Deploy üzerinde çalışan bir Node.js HTTP sunucusunun bir örneği:
import { createServer } from "node:http";
import process from "node:process";
const server = createServer((req, res) => {
const message = `Hello from ${process.env.DENO_REGION} at ${new Date()}`;
res.end(message);
});
server.listen(8080);
Bu örneği burada canlı olarak görebilirsiniz:
https://dash.deno.com/playground/node-specifiers
node: spesifikasyonlarını kullanırken, Deno Deploy'un tüm diğer özellikleri hala mevcuttur. Örneğin, Node.js modüllerini kullanırken ortam değişkenlerine erişmek için Deno.env'i kullanabilirsiniz. Ayrıca, dış URL'lerden diğer ESM modüllerini de her zamanki gibi içe aktarabilirsiniz.
Aşağıdaki Node.js modülleri mevcuttur:
assertassert/strictasync_hooksbufferchild_processclusterconsoleconstantscryptodgramdiagnostics_channeldnsdns/promisesdomaineventsfsfs/promiseshttphttp2httpsmodulenetospathpath/posixpath/win32perf_hooksprocesspunycodequerystringreadlinestreamstream/consumersstream/promisesstream/webstring_decodersystimerstimers/promisestlsttyurlutilutil/typesv8vmworker_threadszlib
Bu modüllerin davranışı çoğu durumda Node.js ile aynı olmalıdır. Ancak, Deno Deploy'un kumelendirme davranışı nedeniyle bazı özellikler mevcut değildir:
child_processile ikili dosyaların çalıştırılmasıworker_threadskullanarak işçi süreçlerin başlatılmasıvmile bağlamlar oluşturma ve kod değerlendirme
Not: Node.js modüllerinin emülasyonu çoğu kullanım durumu için yeterlidir, ancak henüz mükemmel değildir. Herhangi bir sorunla karşılaşırsanız, lütfen
— bir sorun açın.